import unittest
from CalcMathFunction01 import MyTestCase

"""
    测试 单元测试工具中 unittest中 在 测试类中的 四个 特殊的方法
"""


# 创建 一个 测试类
class MyTestCaseTest(unittest.TestCase):
    """
        setUp ：是在类中的每一个 测试方法运行前开始运行
    """

    def setUp(self) -> None:
        print('在类中的每一个 测试方法运行前开始运行')

    """
        tearDown ：是在类中的每一个 测试方法运行结束后开始运行
    """

    def tearDown(self) -> None:
        print('在类中的每一个 测试方法运行结束后开始运行')

    """
        setUpClass ：是在测试类开始运行前  运行
    """

    @classmethod
    def setUpClass(cls) -> None:
        print('是在测试类开始运行前  运行')

    """
        tearDownClass ：是在测试类开始运行结束后  运行
    """

    @classmethod
    def tearDownClass(cls) -> None:
        print('是在测试类开始运行结束后  运行')

    # 加法测试
    def test_add(self):
        """加法测试"""
        r = MyTestCase.add(2, 3)
        #     断言  的使用   预期值 5 和 实际值 比较
        self.assertEqual(5, r)
        print(r)

    #   减法测试
    def test_less(self):
        """减法测试"""
        print(MyTestCase.less(2, 3))

    def test_divide(self):
        """除法测试"""
        print(MyTestCase.divide(2, 3))

    def test_multiply(self):
        """乘法测试"""
        print(MyTestCase.multiply(2, 3))


if __name__ == '__main__':
    unittest.main()
